lookUpEdit隐藏列 您所在的位置:网站首页 lookupedit 模糊查询 lookUpEdit隐藏列

lookUpEdit隐藏列

2023-10-07 15:23| 来源: 网络整理| 查看: 265

转载自:http://gotostreet.blog.sohu.com/308308031.html

lookUpEdit.Properties.DataSource =  this .categoriesBindingSource; lookUpEdit.Properties.DisplayMember =  "CategoryName" ; lookUpEdit.Properties.ValueMember =  "CategoryID" ; lookUpEdit.Properties.PopulateColumns(); lookUpEdit.Properties.Columns[ "CategoryID" ].Visible =  false ;

上述代码是隐藏CategoryID 列的标准写法,但有时不能奏效,为什么呢?因为lookUpEdit.Properties.PopulateColumns()只能在HandleCreated事 件发生后调用,所以修改如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 if (!lookUpEdit.IsHandleCreated)      lookUpEdit.HandleCreated +=lookUpEdit_HandleCreated; else      InitLookUpEditDataSource();  //... void  lookUpEdit_HandleCreated( object  sender, EventArgs e) {      lookUpEdit.HandleCreated -= lookUpEdit_HandleCreated;      InitLookUpEditDataSource(); } void  InitLookUpEditDataSource() {      lookUpEdit.Properties.DataSource =  this .categoriesBindingSource;      lookUpEdit.Properties.DisplayMember =  "CategoryName" ;      lookUpEdit.Properties.ValueMember =  "CategoryID" ;      lookUpEdit.Properties.PopulateColumns();      lookUpEdit.Properties.Columns[ "CategoryID" ].Visible =  false ; }

另外一个方法是直接使用Columns.Add,其他列将不再显示,代码如下: lookUpEdit.Properties.Columns.Add(new LookUpColumnInfo("CategoryName")); 这样代码就能方便的进行统一管理,而不用对页面的变量进行依赖,比如lookUpEdit是 一个传入的变量,而DataSource也需要通过一个传入的变量来取值,页面上又有很多的lookUpEdit控件。这时如果不定义一个类而只是通过一个函数很难做 到代码的复用,用第二种方法就能避免情况变的如此复杂。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有